package no.nordicsemi.android.nrfmesh.database.entity;

import androidx.annotation.NonNull;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
import androidx.room.Ignore;

/**
 * 本机保存的账号“索引信息”（不存明文密码；密码放到加密偏好中）。
 */
@Entity(tableName = "local_accounts")
public class LocalAccount {
    @PrimaryKey @NonNull
    public String userId;           // 账号ID（唯一键）

    public String displayName;      // 展示名（可选：昵称/角色）
    public boolean rememberOnDevice;// 是否保存在本机（勾选“记住此账号到本机”）
    public boolean autoLogin;       // 是否自动登录
    public long lastLoginAt;        // 最近一次登录时间戳(ms)

    // 便捷构造：标记 @Ignore，避免与无参构造产生“多个可用构造器”的 Room 警告
    @Ignore
    public LocalAccount(@NonNull String userId, String displayName,
                        boolean rememberOnDevice, boolean autoLogin, long lastLoginAt) {
        this.userId = userId;
        this.displayName = displayName;
        this.rememberOnDevice = rememberOnDevice;
        this.autoLogin = autoLogin;
        this.lastLoginAt = lastLoginAt;
    }

    public LocalAccount() {} // Room 反射所需的无参构造（保留）
}
